import axios from 'axios'
import { MessagePlugin } from 'tdesign-vue-next'
let msgCtrl
const request = axios.create({
  baseURL: import.meta.env.VITE_BASE_URL,
  timeout: 10000
})
// 请求拦截
request.interceptors.request.use((config) => {
  if (!config.hideLoading) msgCtrl = MessagePlugin.loading('请求中...')
  // 发送请求前处理
  config.headers.tokenId = localStorage.getItem('tokenId')
  return config
}, (err) => {
  // 请求失败处理
  return Promise.reject(err)
})

// 响应拦截
request.interceptors.response.use((res) => {
  console.log(res.data)
  msgCtrl && MessagePlugin.close(msgCtrl)
  msgCtrl = null // 释放内存
  const { data } = res
  if (data.code === 1) {
    return res.data
  } else {
    return Promise.reject(data)
  }
}, (err) => {
  return Promise.reject(err)
})

export default request
